Data Understanding dan Eksplorasi Data#
Data Understanding merupakan suatu proses mengumpulkan, mengeksplorasi, dan mengevaluasi suatu data yang bertujuan untuk memastikan data sesuai dengan tujuan bisnis dan telah siap menuju proses analisis. Tahapan dalam memahami data terdiri dari:
Pengumpulan data: Mengidentifikasi dan mengumpulkan data dari berbagai sumber yang relevan.
Deskripsi Data: Memahami struktur dari data, yakni jumlah baris, kolom, dan jenis dari suatu variabel atau atribut.
Eksplorasi Data: Merupakan suatu proses mencari pola dari data, korelasi, dan anomali menggunakan cara statistik deskriptif melalui visualisasi data.
Kualitas Data: Bagaimana memeriksa kelengkapan, tingkat akurasi, konsistensi dari suatu data.
Membuat Database Postgre#
Proses pembuatan database Postgre menggunakan database cloud aiven.io dan dbeaver sebagai tempat untuk menyimpan suatu datanya. Awalnya kita membuat suatu project dalam aiven dengan memilih database postgre sebagai sumbernya, kemudian mengkoneksikan aiven ke dbeaver melalui kredensial yang dimiliki project aiven. Selanjutnya, membuat database pada service dan mengimport data dalam bentuk csv.
Langkah-Langkah membuat Service Postgre dalam aiven.io#
Berikut merupakan langkkah-langkah dalam membuat service dalam aiven.io:
Kunjungi laman situs aiven.io melalui link https://aiven.io/
Silahkan login terlebih dahulu jika belum memiliki akun aiven
Buat Project terlebih dahulu sebelum membuat servicenya.
Klik “Create Service” dan pilih databse Postgre sebagai databasenya.
Kemudian klik tipe plan yang “Free Plan” dan pilih “Create Service”.
Kemudian terdapat informasi terkait dengan informasi service, cara koneksi, dan informasi kredensial dari service.
Berikut informasi dari kredensial service.
Langkah-Langkah Membuat Database Postgre dan Insert Data di Dbeaver#
Install Dbeaver melalui sites resmi https://dbeaver.io/download/.
Pada Database yang telah dibuat, tambahkan table baru dengan menggukaan SQL Script pada Schema yang telah dibuat.
Buat tabel dengan rincian atribut berupa id, class, petal length, dan petal width.
Kemudian insert data menggunakan import data pada tabel yang telah dibuat dan ikuti setiap proses menambahkan hingga selesai.
Berikut data yang berhasil di import.
Menarik Data Postgre ke Power BI#
Langkah-Langkah Menarik Data#
Install library yang digunakan untuk mengquery data dari postgre yang di antaranya Pandas, psycopg2-binary, dan sqlalchemy pada environment PC/Laptop. pandas biasanya digunakan untuk mengolah dan menyajikan data dalam bentuk dataframe yang akan diperlukan oleh Power BI, psycopg2-binary merupakan driver khusus database Postgre yang digunakan untuk berkomunikasi dengan database, sedangkan sqlalchemy merupakan ibarat sebuah jembatan untuk koneksi database.
Pergi ke power BI dan pastikan bahwa Python yang digunakan sesuai dengan versi Python yang telah diinstall library, pada menu File -> Option -> Options and settings -> Options -> Python Scripting.
Pilih Menu Get Data untuk mendapatkan suatu data dari database.
Kemudian pilih Other -> Python Scripting, setelah itu klik connect untuk memulai koneksi.
Setelah itu masukkan script Python yang berisi library, kredensial dari aiven dan query ke tabel databasenya.
Berikut contoh code query nya.
import psycopg2
import pandas as pd
# Koneksi ke PostgreSQL Aiven
connect = psycopg2.connect(
host="pg-247a32b9-fathanlearn-5ad0.d.aivencloud.com",
port=25962,
dbname="defaultdb",
user="avnadmin",
password="---",
sslmode="require"
)
# Ambil data
query = "SELECT * FROM iris_postgre.splitdata_iris"
df = pd.read_sql(query, connect)
df
Apabila koneksi berhasil, pilih tabel atau data yang akan di tarik dan pilih “Load” untuk menarik data.
Membuat Database Mysql#
Proses pembuatan database Mysql menggunakan database cloud aiven.io dan dbeaver sebagai tempat untuk menyimpan suatu datanya. Awalnya kita membuat suatu project dalam aiven dengan memilih database Mysql sebagai sumbernya, kemudian mengkoneksikan aiven ke dbeaver melalui kredensial yang dimiliki project aiven. Selanjutnya, membuat database pada service dan mengimport data dalam bentuk csv.
Langkah-Langkah Membuat Service MySQL dalam aiven.io#
Berikut merupakan langkkah-langkah dalam membuat service dalam aiven.io:
Kunjungi laman situs aiven.io melalui link https://aiven.io/
Silahkan login terlebih dahulu jika belum memiliki akun aiven
Buat Project terlebih dahulu sebelum membuat servicenya.
Klik “Create Service” dan pilih databse Mysql sebagai databasenya.
Kemudian klik tipe plan yang “Free Plan” dan pilih “Create Service”.
Kemudian terdapat informasi terkait dengan informasi service, cara koneksi, dan informasi kredensial dari service.
Berikut informasi dari kredensial service.
Langkah-Langkah Membuat Database Mysql dan Insert Data di Dbeaver#
Install Dbeaver melalui sites resmi https://dbeaver.io/download/.
Pada Database yang telah dibuat, tambahkan table baru dengan menggukaan SQL Script.
Buat tabel dengan rincian atribut berupa id, sepal length, dan sepal width.
Kemudian insert data menggunakan import data pada tabel yang telah dibuat dan ikuti setiap proses menambahkan hingga selesai.
Berikut data yang berhasil di import.
Mengimport Data Mysql ke Power BI#
Langkah-Langkah Menarik Data#
Install library yang digunakan untuk mengquery data dari Mysql yang di antaranya Pandas, pymysql, dan sqlalchemy pada environment PC/Laptop. pandas biasanya digunakan untuk mengolah dan menyajikan data dalam bentuk dataframe yang akan diperlukan oleh Power BI, pymysql merupakan driver khusus database MySQL yang digunakan untuk berkomunikasi dengan database, sedangkan sqlalchemy merupakan ibarat sebuah jembatan untuk koneksi database.
Pilih Menu Get Data untuk mendapatkan suatu data dari database.
Kemudian pilih Other -> Python Scripting, setelah itu klik connect untuk memulai koneksi.
Setelah itu masukkan script Python yang berisi library, kredensial dari aiven dan query ke tabel databasenya. Berikut contoh code query nya.
import pandas as pd
import pymysql
connect = pymysql.connect(
host = "mysql-131f3e28-fathanlearn-5ad0.i.aivencloud.com",
port = 25962,
user = "avnadmin",
password = "AVNS_hCKUXEhLqojSjCxujVo",
database = "iris_mysql",
ssl = {"ssl": {}}
)
query = "SELECT * FROM iris_mysql.splitdata_iris_mysql"
df = pd.read_sql(query, connect)
df
Apabila koneksi berhasil, pilih tabel atau data yang akan di tarik dan pilih “Load” untuk menarik data.
Menggabungkan Data di Power BI#
Langkah-Langkah Menggabungkan Data#
Pada Menu Home, pilih menu Transform Data.
Setelah itu pilih fitur Merge Queries, kemudian pilih Merge Queries as New untuk hasil penggabungan kolom dibuat tabel baru.
Pilih tabel yang akan digabungkan dengan memilih tabel pada dropdown.
Pilih kolom yang akan digabungkan, pada dataset iris data memiliki id yang sama disebabkan jumlah data yang sama, sehingga untuk menggabungkannya cukup menggunakan inner join, konsep inner join akan menggabungkan data yang memiliki id yang sama. Setelah memilih kolom klik Ok untuk melanjutkan proses.
Kemudian akan muncul tabel hasil penggabungan, pada kolom yang digabungkan klik tanda panah untuk menyeleksi kolom apa saja yang akan digabungkan.
Berikut hasil penggabungan kolom dari kedua tabel.
Untuk menyimpan hasil penggabungan tabel, pergi ke menu Home dan pilih Close & Apply.
Mendeskripsikan Tipe Data#
Data yang telah diimport pada Power BI:
Berdasarkan Tabel tersebut bahwa fitur Sepal Length, Sepal Width, Petal Length, Petal Width merupakan distribusi data dengan tipe data yang sama yakni Numerik. Data numerik adalah data berupa angka yang dapat dihitung secara matematis (misalnya dijumlah, dirata-rata, dicari maksimum/minimum, dll).
Sedangkan Fitur Iris memiliki tipe data berupa Kategorikal yang ditujukkan berupa teks pada datanya. Data kategorikal adalah data yang nilainya berupa label, simbol, atau kategori yang digunakan untuk mengelompokkan objek, bukan untuk operasi matematis (seperti penjumlahan atau rata-rata).
Eksplorasi Data#
Mencari nilai Min-Max setiap Kolom#
Langkah-Langkah Mencari Nilai Min Max#
Pada Sidebar VIsualization, pilih table visual.
Kemudian pilih kolom yang akan dicari untuk nilai max atau min nya.
Klik kembali disamping kiri kolom yang dipilih, maka akan muncul pada Navbar fitur Summarization dan pilih opsi untuk mencari nilai min atau max nya.
Maka akan langsung muncul untuk nilai min atau max pada suatu kolom.
Nilai Max dari Setiap Kolom#
Berdasarkan tabel di atas di dapat nilai maximum setip fitur atau kolom pada data iris yakni:
Sepal Length: 7.90
Sepal Width: 4.40
Petal Length: 6.90
Petal Width: 2.50
Nilai Minimun Setiap Kolom#
Berdasarkan tabel di atas di dapat nilai minimum setip fitur atau kolom pada data iris yakni:
Sepal Length: 4.30
Sepal Width: 2.00
Petal Length: 1.00
Petal Width: 0.10
Mencari Rata-Rata dari Setiap Kolom#
Langkah-Langkah Mencari Nilai Rata-Rata Setiap Kolom#
Pada Sidebar VIsualization, pilih table visual.
Kemudian pilih kolom yang akan dicari untuk nilai rata-rata nya.
Klik kembali disamping kiri kolom yang dipilih, maka akan muncul pada Navbar fitur Summarization dan pilih opsi untuk mencari nilai rata-rata atau average nya.
Maka akan langsung muncul untuk nilai rata-rata pada suatu kolom.
Nilai Rata-Rata Setiap Kolom#
Berdasarkan tabel di atas di dapat nilai rata-rata setip fitur atau kolom pada data iris yakni:
Sepal Length: 5.84
Sepal Width: 3.05
Petal Length: 3.76
Petal Width: 1.20
Jumlah Distribusi Data Setiap Kelas Menggunakan Visualisasi Grafik#
Langkah-Langkah Membuat Grafik Untuk Visualisasi Jumlah Data#
Pada Sidebar Visualization, pilih Stacked Column Chart.
Kemudian pilih kolom yang akan distribusi jumlah datanya.
Klik kembali disamping kiri kolom yang dipilih, maka akan muncul pada Navbar fitur Summarization dan pilih opsi untuk mencari jumlah data yakni count.
Kemudian Drop data pada X-axis dan Y-axis di sidebar visualization.
Tampilan Visualisasi Grafik#
Berdasarkan grafik visualisasi di atas jumlah distribusi data pada setiap kelas yakni rata, masing- masing kelas memiliki jumlah data sebanyak 50.
Mendeteksi Outlier#
Mendeteksi Outlier Menggunakan Metode ABOD#
Jalankan script Python untuk model dibawah ini:
# 'dataset' holds the input data for this script
# 'dataset' holds the input data for this script
import pandas as pd
from pycaret.anomaly import *
data = dataset.copy()
abod_data = setup(data, session_id=123)
abod = create_model('abod')
abod_predictions = assign_model(abod)
anomali_only = abod_predictions[abod_predictions['Anomaly'] == 1]
anomali_only
Berikut merupakan data yang terdeteksi outlier dari metode ABOD
Langkah-Langkah mendeteksi outlier menggunakan Library Pycaret Metode Iforest#
Install library Pycaret ke environment Python di PC/Laptop.
Pada Power BI ketika kita menggunakan script Python yang akan diterapkan pada suatu tabel seringkali mendapatkan suatu masalah pembatasan. Oleh karena itu solusinya kita menonaktifkannya pada menu File -> Options and Settings -> Option -> Privacy dan pilih Always ignore Privacy Level Settings.
Pada Power BI, pergi ke Menu Home -> Transform Data -> Transform -> Script Python.
Masukkan Script Python yang digunakan untuk mendeteksi Outlier data.
import pandas as pd
from pycaret.anomaly import setup, create_model, assign_model
#mengambil data berbasis dataframe
data = dataset.copy()
process = setup(data, session_id=123)
#memilih model outlier
model = create_model('iforest')
#hasil
result = assign_model(model)
result
Penjelasan code:
Pertama kita import librray yang dibutuhkan seperti pandas dan pycaret.
Kemudian Load dataset menggunakan libray pandas dengan method copy().
lalu gunakan built in function setup untuk memulai proses.
Pilih model yang digunakan untuk mendeteksi outlier, pada code tersebut menggunakan model iforest.
tampilkan hasil menggunakan fungsi assign_model.
Load hasil
Setelah berhasil meload script, akan muncul tabel yang berisi data di antaranya data, dataset, dan result. Kemudian pilih result dan klik tulisan Table untuk melihat oulier yang telah diproses.
Untuk data yang outlier direpresentasikan dengan nilai 1 dan 0 untuk data yang bukan oulier.
Berdasarkan gambar di atas terlihat bahwa outlier ditemukan pada data dengan id 14.
Mencari Missing Value#
Langkah-Langkah mencari Missing Value#
Install library yang dibutuhkan seperti pandas untuk mencari missing valuenya.
Buka Power BI, kemudian pergi ke menu Home -> Transform Data -> Transform -> Python Script.
Kemudian Buat scipt Python untuk mendeteksi Missing Value.
Contoh Code:
import pandas as pd
# load data
data = dataset.copy()
# cari missing value
loss = data.isnull().sum()
# hasil
result = pd.DataFrame({
'Column': loss.index,
'MissingCount': loss.values
})
result
Penjelasan Code:
Kita import library yang digunakan misalnya pandas.
Kemudian load data menggunkan metod copy()
Setelah itu, untuk mencari data missing dapat menggunakan method isnull() dan sum() untuk menjumlahkan total missingnya.
Simpan Hasil dalam variabel yang berupa dataframe yang berisi indeks dari nilai missing dan nilai data atau veluenya.
Ketika sudah muncul hasil script Python, pilih data result dan klik Table untuk melihat hasil dari pencarian missing valuenya.
Berikut merupakan hasil dari pencarian missing value pada data Iris.
Berdasarkan gambar tersebut dapat disimpulkan bahwa setiap fitur tidak memiliki missing value.